Web servis ile veritabanına kayıt ekleme
29.01.2017 - 12:55
Merhaba arkadaşlar,
Elimde restful kullanarak yazdığım bir web servis var. Mobil telefondan aldığı veriyi Json tipinde döndürüyor. En basitinden veritabanına sha-3 özet fonksiyonu kullanarak parola tuzlama işlemi yapmak istiyorum fakat şifreleme işlemini android tarafında mı(bunu nasıl yapacağım hakkında bir fikrim yok) yoksa web servis tarafında mı yapmalıyım karar veremedim.
Öncesinde md5 kullanarak bir parola şifreleme yapmıştım fakat burda direkt kullanabiliyordum.
public static int musteriEkle(Musteriler musteri){
int state = 0;
String sql = "INSERT INTO Musteriler(TCNO,Ad,Soyad,Adres,SehirID,TelefonNo,CepNo,Parola,Eposta,IPAdress,yetkiNo,KayitTarihi) VALUES(?,?,?,?,?,?,?,md5(md5(?)),?,?,?,NOW())";
try {
con = ConnectionDatabase.getConnection();
psmt = con.prepareStatement(sql);
psmt.setString(1, musteri.getTCNO());
psmt.setString(2, musteri.getAd());
psmt.setString(3, musteri.getSoyad());
psmt.setString(4, musteri.getAdres());
psmt.setInt(5, musteri.getSehirID().getSehirID());
psmt.setString(6, musteri.getTelefonNo());
psmt.setString(7, musteri.getCepNo());
psmt.setString(8, musteri.getParola());
psmt.setString(9, musteri.getePosta());
psmt.setString(10, musteri.getIPAdress());
psmt.setInt(11, musteri.getYetkiNo().getYetkiNo());
state = psmt.executeUpdate();
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
ConnectionDatabase.kapat(con, psmt);
} catch (SQLException e) {
e.printStackTrace();
}
}
return state;
}
Kullanmam gereken özet fonksiyonum ise şu şekilde;
import java.security.MessageDigest;
import org.bouncycastle.jcajce.provider.digest.SHA3.DigestSHA3;
import org.bouncycastle.jcajce.provider.digest.SHA3.Digest256;
public class Keccak {
public static void main(String[] args) {
System.out.println(sha3("123456"));
}
public static String sha3(final String input) {
final DigestSHA3 sha3 = new Digest256();
sha3.update(input.getBytes());
return Keccak.hashToString(sha3);
}
public static String hashToString(MessageDigest hash) {
return hashToString(hash.digest());
}
public static String hashToString(byte[] hash) {
StringBuffer buff = new StringBuffer();
for (byte b : hash) {
buff.append(String.format("%02x", b & 0xFF));
}
return buff.toString();
}
}
Yardımlarınız için şimdiden teşekkürler...
85
Görüntülenme
0 Beğeni